HTGviz: A Graphic Tool for the Synthesis of Automatic and User-Driven Program Parallelization in the Compilation Process
نویسندگان
چکیده
User feedback in program parallelization is very important since often blind compilation may bring to mistakes in the generated code causing performance degradation. This is why it is necessary to provide the user with clear information about how the compiler parallelizes the program and, at the same time, an interface to control and assist program parallelization according to user feedback. To cope with this aspect we developed the HTG Visualization Tool 1 (HTGviz), a graphic user interface for program parallelization based on a joint work of user knowledge and compiler techniques. HTGviz is implemented on top of Parafrase-2 parallelizing compiler, and Tcl/Tk is used as middleware integration language to implement graphical components. The interaction between the user and the compiler is carried out through the use of the Hierarchical Task Graph (HTG) program representation where task parallelism is represented by precedence relations (arcs) among task nodes. HTGviz ooers the user an interface to navigate through the program HTG, providing him with information about data/control dependences and task precedences. It allows to tune task partitioning and parallelism by inserting OpenMP directives into the code based on graph manipulation facilities. HTGviz also guides the user through the process of generating valid and eecient parallel code for OpenMP applications.
منابع مشابه
Automatic Generation of a Multi Agent System for Crisis Management by a Model Driven Approach
Considering the increasing occurrences of unexpected events and the need for pre-crisis planning in order to reduce risks and losses, modeling instant response environments is needed more than ever. Modeling may lead to more careful planning for crisis-response operations, such as team formation, task assignment, and doing the task by teams. A common challenge in this way is that the model shou...
متن کاملAutomatic implementation of a new recovery coefficient for Reliable contour milling
In contour milling, to render the machining process more automated with significant productivity without remaining material after machining, a new recovery coefficient was developed. The coefficient was inserted in the computation of contour parallel tool paths to fix the radial depth of cut in the way to ensure an optimized overlap area between the passes in the corners, without residuals. Thu...
متن کاملNumerical Simulation of a Lead-Acid Battery Discharge Process using a Developed Framework on Graphic Processing Units
In the present work, a framework is developed for implementation of finite difference schemes on Graphic Processing Units (GPU). The framework is developed using the CUDA language and C++ template meta-programming techniques. The framework is also applicable for other numerical methods which can be represented similar to finite difference schemes such as finite volume methods on structured grid...
متن کاملParallelization of Rich Models for Steganalysis of Digital Images using a CUDA-based Approach
There are several different methods to make an efficient strategy for steganalysis of digital images. A very powerful method in this area is rich model consisting of a large number of diverse sub-models in both spatial and transform domain that should be utilized. However, the extraction of a various types of features from an image is so time consuming in some steps, especially for training pha...
متن کاملPAP Recognizer: A Tool for Automatic Recognition of Parallelizable Patterns
Techniques for Automatic Program Comprehension can play a crucial role in overcoming limitations of existing tools for the automatic parallelization of programs for distributed-memory architectures. Uses of a program recognition-based parallelization procedure could range from the automatic selection of a data distribution , via the automatic selection of sequences of optimizing transformations...
متن کامل